﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Data;
using vudu.ClasesDominio;
using vudu.Logica.Fachada;
using vudu.Presentacion.Contrato.VU_03_Gestionar_Pensum_por_Escuela;
using vudu.Presentacion.Presentador.VU_03_Gestionar_Pensum_por_Escuela;
using System.Web.SessionState;

namespace vudu.Presentacion.Vista.VU_03_Gestionar_Pensum_por_Escuela
{
    public partial class CrearPensumEtapaI : System.Web.UI.Page, IContratoCrearPensumEtapaI
    {
        private PresentadorCrearPensumEtapaI _presentador;
        
        protected void Page_Load(object sender, EventArgs e)
        {
            string miRol = (string)Session["TipoRol"];

            _presentador = new PresentadorCrearPensumEtapaI(this);
            if (_presentador.Rol != "Escuela")
                Response.Redirect("../VU_15 Gestion de Acceso/InicioSistema.aspx");
            _presentador.MostrarNombreUsuario();
            
            if (!Page.IsPostBack)
            {   
                _presentador.CargarListaEscuela();
                _presentador.CargarMateriasDeEscuela();
                _presentador.CargarTablaMateriasParaPensum();
               
            }
            
        }

        protected void uxListaEscuelas_SelectedIndexChanged(object sender, EventArgs e)
        {
            _presentador.CargarMateriasDeEscuela();
        }

        protected void uxMateriasEscuela_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {
            _presentador.Paginacion(e);
        }
        
        protected void uxMateriasEscuela_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void uxMateriasPensum_SelectedIndexChanged(object sender, EventArgs e)
        {

        }

        protected void uxMateriasPensum_PageIndexChanging(object sender, GridViewPageEventArgs e)
        {   
            _presentador.Paginacion2(e, _presentador.MateriasDePensum);
        }

        public Label MensajeSeleccionar
        {
            get { return uxSeleccioneMaterias; }
        }
         
        public Label Error
        {
            get { return Label6; }
        }

        public Label MensajeMaterias
        {
            get { return uxMensajeMinMateria; }
        }

        public DropDownList ListaEscuelas
        {
            get { return uxListaEscuelas; }
        }

        public DropDownList TipoSemestre
        {
            get { return uxTotalSemestres; }
        }

        public GridView TablaMaterias
        {
            get { return uxMateriasEscuela; }
        }

        public GridView TablaMateriasPensum
        {
            get { return uxMateriasParaPensum; }
        }

        public Button BotonAgregar
        {
            get { return uxAgregarMateria; }
        }

        public Button BotonContinuar
        {
            get { return ux_continuar; }
        }

        public Label Actor
        {
            get { return uxNombreUsuario; }
        }

        public HttpSessionState Sesion
        {
            get { return Session; }
        }

        protected void ux_continuar_Click(object sender, EventArgs e)
        {
            _presentador.CrearNuevoPensum();
            if (!_presentador.EtapaI)
            {   
                Response.Redirect(_presentador.Redireccionar());
            }
        }

        protected void uxMateriasEscuela_SelectedIndex(object sender, EventArgs e)
        {

        }

        
        protected void uxAgregarMateria_Click(object sender, EventArgs e)
        {
            _presentador.AgregarMateriaAPensum();
            _presentador.CargarTablaMateriasParaPensum();
            Session["MateriasParaPensum"] = _presentador.MateriasDePensum;
        }

        protected void ux_Salir_Click(object sender, EventArgs e)
        {
            Session["MateriasParaPensum"] = null;
            Response.Redirect("../HomePages/HomeEscuela.aspx");
        }
    }
}